﻿using System;

namespace Xenta.Structs
{
    /// <summary>
    /// Represents the dependency info.
    /// </summary>
    /// <remarks>
    /// The structure is used by the infrastructure for 
    /// keeping and quick accessing the information 
    /// about registered dependencies.
    /// </remarks>
    public struct DependencyInfo
    {
        #region Properties

        /// <summary>
        /// Gets or sets the identifier.
        /// </summary>
        public string ID;

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        public string Name;

        /// <summary>
        /// Gets or sets the version.
        /// </summary>
        public string Version;

        /// <summary>
        /// Gets or sets the type.
        /// </summary>
        public string Type;

        #endregion

        #region Static

        /// <summary>
        /// Gets the empty info.
        /// </summary>
        public static DependencyInfo Empty
        {
            get
            {
                return new DependencyInfo
                {
                    ID = String.Empty,
                    Name = String.Empty,
                    Version = String.Empty,
                    Type = String.Empty
                };
            }
        }

        #endregion
    }
}
